from flask import Flask, request, send_from_directory
from Gemini import chat_session
import os,json

app = Flask(__name__, static_folder="build", static_url_path="")

# API 路由
@app.route('/api/qwen', methods=['POST'])
def qwen():
    content = request.form.get('message')
    # chat_session.history = messages
    print(content)
    dic = [{
        'key': '1',
        'name': '胡彦斌',
        'age': 32,
        'address': '西湖区湖底公园1号',
      },
      {
        'key': '2',
        'name': '胡彦祖',
        'age': 42,
        'address': '西湖区湖底公园1号',
      },{
        'key': '3',
        'name': '胡建国',
        'age': 42,
        'address': '西湖区湖底公园1号',
      },{
        'key': '4',
        'name': '马斯克',
        'age': 42,
        'address': '西湖区湖底公园1号',
      }]
    if content == '1':
        res = {
            "role": "assistant",
            "content": json.dumps(dic)
        }
    else:
        res = {
            "role": "assistant",
            "content": chat_session.send_message(content).text
        }
    return json.dumps(res)

# 提供前端静态文件的路由
@app.route('/')
def serve():
    return send_from_directory(app.static_folder, 'index.html')

# 处理前端路由路径，避免刷新页面导致 404 错误
@app.route('/<path:path>')
def serve_static_files(path):
    # 检查请求的文件是否存在于 build 目录
    if os.path.exists(os.path.join(app.static_folder, path)):
        return send_from_directory(app.static_folder, path)
    # 如果文件不存在，则返回 index.html 交由前端处理
    return send_from_directory(app.static_folder, 'index.html')

if __name__ == '__main__':
    app.run(port=90)